package towerDefense;


/**
 * Interface to describe necessary code for all Enemies.  
 * 
 * @author Guillermo Mendez-Kestler
 *
 */
public interface I_Enemy {
	/**
	 * Changes the heading of the enemy to the new coordinates. 
	 * 
	 * @param x_coord The X coordinate the enemy will travel to. 
	 * @param y_coord The Y coordinate the enemy will travel to. 
	 * @return {@code True} if the enemy was able to change it's heading to the 
	 * supplied direction. 
	 */
	public boolean changeHeading(double x_coord, double y_coord);

	/**
	 * Changes the heading of the enemy to the new coordinates. 
	 * 
	 * @param newHeading The new heading (angle) the enemy will travel to. 
	 * @return {@code True} if the enemy was able to change it's heading to the 
	 * supplied direction. 
	 */
	public boolean changeHeading(double newHeading);
}
